package com.anyou.mall.dri.mapper;

import com.anyou.mall.dri.domain.Driver;
import com.anyou.mall.dri.vo.DriverDetailsVo;
import com.anyou.mall.dri.vo.DriverOrderVo;
import com.anyou.mall.fin.vo.AllBondVo;
import com.anyou.mall.fin.vo.BondNumVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * 司机列表Mapper接口
 *
 * @author gaochaohao
 * @date 2022-04-02
 */
public interface DriverMapper extends BaseMapper<Driver>
{
    /**
     * 查询司机列表
     *
     * @param driverId 司机列表主键
     * @return 司机列表
     */
    public Driver selectDriverByDriverId(Long driverId);

    /**
     * 查询司机列表列表
     *
     * @param driver 司机列表
     * @return 司机列表集合
     */
    public List<Driver> selectDriverList(Driver driver);

    /**
     * 新增司机列表
     *
     * @param driver 司机列表
     * @return 结果
     */
    public int insertDriver(Driver driver);

    /**
     * 修改司机列表
     *
     * @param driver 司机列表
     * @return 结果
     */
    public int updateDriver(Driver driver);

    /**
     * 删除司机列表
     *
     * @param driverId 司机列表主键
     * @return 结果
     */
    public int deleteDriverByDriverId(Long driverId);

    /**
     * 批量删除司机列表
     *
     * @param driverIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDriverByDriverIds(Long[] driverIds);

    /**
     * 司机详情-配送订单列表
     * @param driverOrderVo
     * @return
     */
    List<DriverOrderVo> deliveryOrderPage( DriverOrderVo driverOrderVo);

    /**
     * 获取司机列表详细信息
     * @param driverId
     * @return
     */
    DriverDetailsVo getDriverDetailsByDriverId(Long driverId);

    /**
     * 获取保证金总额
     * @return
     */
    AllBondVo allBond();

    /**
     * 查询司机数量
     * @return
     */
    BondNumVo selectTotalBond();
}
